package com.xy.biz.fd.dao;

import com.xy.biz.fd.domain.po.DocumentRubbishPO;
import com.xy.biz.fd.domain.query.DocumentRubbishQuery;

import java.util.Collection;
import java.util.List;

/**
 * 
 * 
 * @author yzh
 * @date 2021年1月30日
 */
public interface DocumentRubbishDao {
	
	/**
	 * 保存
	 *
	 * @param documentRubbishPO
	 */
	int saveDocumentRubbish(DocumentRubbishPO documentRubbishPO);
	
	/**
	 * 保存多个
	 *
	 * @param collection
	 */
	int saveAllDocumentRubbish(Collection<DocumentRubbishPO> collection);
	
	/**
	 * 更新
	 *
	 * @param documentRubbishPO
	 */
	int updateDocumentRubbish(DocumentRubbishPO documentRubbishPO);
	
	/**
	 * 删除
	 *
	 * @param documentRubbishId
	 */
	int deleteDocumentRubbish(Long documentRubbishId);

	/**
	 * 根据documentRubbishId批量删除
	 *
	 * @param collection
	 */
	int deleteDocumentRubbishIds(Collection<Long> collection);
	
	/**
	 * 查找一个
	 *
	 * @param documentRubbishId
	 * @return
	 */
	DocumentRubbishPO getDocumentRubbish(Long documentRubbishId);
	
	/**
	 * 查找多条
	 *
	 * @param collection 
	 * @return
	 */
	List<DocumentRubbishPO> listDocumentRubbishById(Collection<Long> collection);
	
	/**
	 * 条件查找多条
	 *
	 * @param query 查找条件
	 * @return
	 */
	List<DocumentRubbishPO> listDocumentRubbish(DocumentRubbishQuery query);

	/**
	 * 根据RubbishId查找多条
	 *
	 * @param collection 查找条件
	 * @return
	 */
	List<DocumentRubbishPO> listDocumentRubbishByRubbishId(Collection<Long> collection);
	
	/**
	 * 条件统计个数
	 *
	 * @param query 查找条件
	 * @return
	 */
	int countDocumentRubbish(DocumentRubbishQuery query);
	
}
